> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-api_docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GetTokenMetadataBatch

> GetTokenMetadataBatch allows you to query the token metadata of a batch of contracts and respective tokenIDs where map is contractAddress::[]tokenID => contractAddress::[]TokenMetadata
Note, we limit each request to 50 contracts max and 50 tokens max per contract.



## OpenAPI

````yaml api-references/metadata/endpoints/sequence-metadata.json post /rpc/Metadata/GetTokenMetadataBatch
openapi: 3.0.0
info:
  title: Sequence Metadata
  version: 0.0.1
servers:
  - url: https://metadata.sequence.app/
    description: Metadata
security: []
tags:
  - name: public
    description: >-
      Endpoints accessible by passing your project-access-key in the header.
      This is injected whenever you login automatically.
  - name: secret
    description: >-
      Endpoints that require a Sequence service token intended to be secret. You
      can manually generate one on Sequence Builder and pass it as a Bearer
      Token.
paths:
  /rpc/Metadata/GetTokenMetadataBatch:
    post:
      tags:
        - public
      summary: GetTokenMetadataBatch
      description: >-
        GetTokenMetadataBatch allows you to query the token metadata of a batch
        of contracts and respective tokenIDs where map is
        contractAddress::[]tokenID => contractAddress::[]TokenMetadata

        Note, we limit each request to 50 contracts max and 50 tokens max per
        contract.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata_GetTokenMetadataBatch_Request'
            examples:
              '0':
                value:
                  chainID: '80002'
                  contractTokenMap:
                    '0x8070c5b48b1ce7b3219660c79b23e8679bfd5041':
                      - '0'
                      - '1'
                    '0x70a2177079877e4aae639d1abb29ffa537b94970':
                      - '0'
                      - '1'
                      - '2'
                      - '3'
                      - '4'
                      - '5'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata_GetTokenMetadataBatch_Response'
              examples:
                '0':
                  value:
                    contractTokenMetadata:
                      '0x70a2177079877e4aae639d1abb29ffa537b94970':
                        - tokenId: '0'
                          name: 'Divine Axe #160'
                          description: >-
                            This legendary axe, blessed by ancient gods, capable
                            of shattering mountains.
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/819/tokens/0/image.png
                          properties: null
                          attributes:
                            - sharpness: 1120
                            - attackPower: 463
                            - weight: 700
                            - criticalHitChance: 1218
                          updatedAt: '2024-11-01T08:29:29.848063928Z'
                        - tokenId: '1'
                          name: 'Divine Axe #724'
                          description: >-
                            This powerful axe, blessed by ancient gods, with the
                            power to summon storms.
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/819/tokens/1/image.png
                          properties: null
                          attributes:
                            - speed: 1491
                            - edgeRetention: 1198
                            - criticalHitChance: 370
                            - attackPower: 396
                          updatedAt: '2024-11-01T08:29:29.848063928Z'
                        - tokenId: '2'
                          name: 'Divine Axe #819'
                          description: >-
                            This ancient axe, blessed by ancient gods, capable
                            of shattering mountains.
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/819/tokens/2/image.png
                          properties: null
                          attributes:
                            - balance: 81
                            - edgeRetention: 283
                            - sharpness: 105
                            - durability: 338
                          updatedAt: '2024-11-01T08:29:29.848063928Z'
                        - tokenId: '3'
                          name: 'Divine Axe #948'
                          description: >-
                            This enchanted axe, crafted by the hands of giants,
                            which never dulls.
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/819/tokens/3/image.png
                          properties: null
                          attributes:
                            - speed: 1314
                            - balance: 1235
                            - weight: 48
                            - magic: 826
                          updatedAt: '2024-11-01T08:29:29.848063928Z'
                        - tokenId: '4'
                          name: 'Divine Axe #031'
                          description: >-
                            This powerful axe, forged in the fires of a dying
                            star, which never dulls.
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/819/tokens/4/image.png
                          properties: null
                          attributes:
                            - speed: 1144
                            - elementalAffinity: 1315
                            - edgeRetention: 1128
                            - sharpness: 1232
                          updatedAt: '2024-11-01T08:29:29.848063928Z'
                        - tokenId: '5'
                          name: 'Divine Axe #452'
                          description: >-
                            This enchanted axe, crafted by the hands of giants,
                            with the power to summon storms.
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/819/tokens/5/image.png
                          properties: null
                          attributes:
                            - elementalAffinity: 803
                            - durability: 83
                            - criticalHitChance: 268
                            - balance: 1039
                          updatedAt: '2024-11-01T08:29:29.848063928Z'
                      '0x8070c5b48b1ce7b3219660c79b23e8679bfd5041':
                        - tokenId: '0'
                          name: Test nft erc721
                          description: Description
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/273/tokens/0/image.jpg
                          properties:
                            armor: '100'
                          attributes: null
                          updatedAt: '2024-11-01T08:18:33.514523974Z'
                        - tokenId: '1'
                          name: NFT 2 Amoy
                          description: Description
                          image: >-
                            https://metadata.sequence.app/projects/30957/collections/273/tokens/1/image.jpg
                          properties: null
                          attributes: null
                          updatedAt: '2024-11-01T08:18:33.514523974Z'
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                  - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                  - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                  - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                  - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                  - $ref: '#/components/schemas/ErrorWebrpcClientDisconnected'
                  - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                  - $ref: '#/components/schemas/ErrorUnauthorized'
                  - $ref: '#/components/schemas/ErrorPermissionDenied'
                  - $ref: '#/components/schemas/ErrorSessionExpired'
                  - $ref: '#/components/schemas/ErrorMethodNotFound'
                  - $ref: '#/components/schemas/ErrorRequestConflict'
                  - $ref: '#/components/schemas/ErrorGeoblocked'
                  - $ref: '#/components/schemas/ErrorTimeout'
                  - $ref: '#/components/schemas/ErrorInvalidArgument'
                  - $ref: '#/components/schemas/ErrorRequiredArgument'
                  - $ref: '#/components/schemas/ErrorQueryFailed'
                  - $ref: '#/components/schemas/ErrorValidationFailed'
                  - $ref: '#/components/schemas/ErrorRateLimited'
                  - $ref: '#/components/schemas/ErrorNotFound'
                  - $ref: '#/components/schemas/ErrorProjectNotFound'
                  - $ref: '#/components/schemas/ErrorChainNotFound'
                  - $ref: '#/components/schemas/ErrorTokenDirectoryDisabled'
        5XX:
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                  - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                  - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                  - $ref: '#/components/schemas/ErrorFail'
      security:
        - ApiKeyAuth:
            - AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI
components:
  schemas:
    Metadata_GetTokenMetadataBatch_Request:
      type: object
      properties:
        chainID:
          type: string
        contractTokenMap:
          type: object
          description: map<string,[]string>
          additionalProperties:
            type: array
            description: '[]string'
            items:
              type: string
    Metadata_GetTokenMetadataBatch_Response:
      type: object
      properties:
        contractTokenMetadata:
          type: object
          description: map<string,[]TokenMetadata>
          additionalProperties:
            type: array
            description: '[]TokenMetadata'
            items:
              $ref: '#/components/schemas/TokenMetadata'
        task:
          $ref: '#/components/schemas/Task'
    ErrorWebrpcEndpoint:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcEndpoint
        code:
          type: number
          example: 0
        msg:
          type: string
          example: endpoint error
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcRequestFailed:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcRequestFailed
        code:
          type: number
          example: -1
        msg:
          type: string
          example: request failed
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcBadRoute:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcBadRoute
        code:
          type: number
          example: -2
        msg:
          type: string
          example: bad route
        cause:
          type: string
        status:
          type: number
          example: 404
    ErrorWebrpcBadMethod:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcBadMethod
        code:
          type: number
          example: -3
        msg:
          type: string
          example: bad method
        cause:
          type: string
        status:
          type: number
          example: 405
    ErrorWebrpcBadRequest:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcBadRequest
        code:
          type: number
          example: -4
        msg:
          type: string
          example: bad request
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcClientDisconnected:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcClientDisconnected
        code:
          type: number
          example: -8
        msg:
          type: string
          example: client disconnected
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcStreamLost:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcStreamLost
        code:
          type: number
          example: -9
        msg:
          type: string
          example: stream lost
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorUnauthorized:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: Unauthorized
        code:
          type: number
          example: 1000
        msg:
          type: string
          example: Unauthorized access
        cause:
          type: string
        status:
          type: number
          example: 401
    ErrorPermissionDenied:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: PermissionDenied
        code:
          type: number
          example: 1001
        msg:
          type: string
          example: Permission denied
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorSessionExpired:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: SessionExpired
        code:
          type: number
          example: 1002
        msg:
          type: string
          example: Session expired
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorMethodNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: MethodNotFound
        code:
          type: number
          example: 1003
        msg:
          type: string
          example: Method not found
        cause:
          type: string
        status:
          type: number
          example: 404
    ErrorRequestConflict:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: RequestConflict
        code:
          type: number
          example: 1004
        msg:
          type: string
          example: Conflict with target resource
        cause:
          type: string
        status:
          type: number
          example: 409
    ErrorGeoblocked:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: Geoblocked
        code:
          type: number
          example: 1006
        msg:
          type: string
          example: Geoblocked region
        cause:
          type: string
        status:
          type: number
          example: 451
    ErrorTimeout:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: Timeout
        code:
          type: number
          example: 2000
        msg:
          type: string
          example: Request timed out
        cause:
          type: string
        status:
          type: number
          example: 408
    ErrorInvalidArgument:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: InvalidArgument
        code:
          type: number
          example: 2001
        msg:
          type: string
          example: Invalid argument
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorRequiredArgument:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: RequiredArgument
        code:
          type: number
          example: 2002
        msg:
          type: string
          example: Required argument missing
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorQueryFailed:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: QueryFailed
        code:
          type: number
          example: 2003
        msg:
          type: string
          example: Query failed
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorValidationFailed:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: ValidationFailed
        code:
          type: number
          example: 2004
        msg:
          type: string
          example: Validation failed
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorRateLimited:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: RateLimited
        code:
          type: number
          example: 2005
        msg:
          type: string
          example: Rate limited
        cause:
          type: string
        status:
          type: number
          example: 429
    ErrorNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: NotFound
        code:
          type: number
          example: 3000
        msg:
          type: string
          example: Resource not found
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorProjectNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: ProjectNotFound
        code:
          type: number
          example: 3002
        msg:
          type: string
          example: Project not found
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorChainNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: ChainNotFound
        code:
          type: number
          example: 3003
        msg:
          type: string
          example: Chain not found
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorTokenDirectoryDisabled:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: TokenDirectoryDisabled
        code:
          type: number
          example: 4001
        msg:
          type: string
          example: Token Directory is disabled
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcBadResponse:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcBadResponse
        code:
          type: number
          example: -5
        msg:
          type: string
          example: bad response
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorWebrpcServerPanic:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcServerPanic
        code:
          type: number
          example: -6
        msg:
          type: string
          example: server panic
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorWebrpcInternalError:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: WebrpcInternalError
        code:
          type: number
          example: -7
        msg:
          type: string
          example: internal error
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorFail:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: Fail
        code:
          type: number
          example: 1005
        msg:
          type: string
          example: Request Failed
        cause:
          type: string
        status:
          type: number
          example: 500
    TokenMetadata:
      type: object
      required:
        - tokenId
        - name
        - attributes
        - status
      properties:
        tokenId:
          type: string
        name:
          type: string
        description:
          type: string
        image:
          type: string
        video:
          type: string
        audio:
          type: string
        properties:
          type: object
          description: map<string,any>
          additionalProperties:
            type: object
        attributes:
          type: array
          description: '[]map<string,any>'
          items:
            type: object
            description: map<string,any>
            additionalProperties:
              type: object
        imageData:
          type: string
        externalUrl:
          type: string
        backgroundColor:
          type: string
        animationUrl:
          type: string
        decimals:
          type: number
        updatedAt:
          type: string
        assets:
          type: array
          description: '[]Asset'
          items:
            $ref: '#/components/schemas/Asset'
        status:
          $ref: '#/components/schemas/ResourceStatus'
        queuedAt:
          type: string
        lastFetched:
          type: string
    Task:
      type: object
      required:
        - id
        - queue
        - try
        - payload
      properties:
        id:
          type: number
        queue:
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        try:
          type: number
        runAt:
          type: string
        lastRanAt:
          type: string
        createdAt:
          type: string
        payload:
          type: array
          description: '[]byte'
          items:
            type: string
        hash:
          type: string
    Asset:
      type: object
      required:
        - id
        - collectionId
        - metadataField
      properties:
        id:
          type: number
        collectionId:
          type: number
        tokenId:
          type: string
        url:
          type: string
        metadataField:
          type: string
        filename:
          type: string
        filesize:
          type: number
        mimeType:
          type: string
        width:
          type: number
        height:
          type: number
        updatedAt:
          type: string
    ResourceStatus:
      type: string
      description: Represented as uint32 on the server side
      enum:
        - NOT_AVAILABLE
        - STALE
        - AVAILABLE
    TaskStatus:
      type: string
      description: Represented as uint8 on the server side
      enum:
        - QUEUED
        - PAUSED
        - FAILED
        - COMPLETED
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      description: >-
        Public project access key for authenticating requests obtained on
        Sequence Builder. Example Test Key: AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI
      name: X-Access-Key

````